home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / language / embedded / mcu / float09.arc / EQUATES.SA < prev    next >
Text File  |  1987-03-04  |  6KB  |  306 lines

  1.  TTL '6809 FLOATING POINT PACKAGE - COPYRIGHT (C) MOTOROLA 1980'
  2.  OPT LLEN=120,NOG
  3. * TTL **** 6809 FLOATING POINT - COPYRIGHT(C) MOTOROLA 1980
  4.  
  5. *
  6. ***********************************************************************
  7. *
  8. *    G L O B A L  E Q U A T E S
  9. *
  10. *     THESE ARE THE GLOBAL EQUATES FOR THE 6809 FP PACKAGE
  11. *
  12. **********************************************************************
  13. *
  14. * BIT VALUES
  15. *
  16. BIT0 EQU 1
  17. BIT1 EQU 2
  18. BIT2 EQU 4
  19. BIT3 EQU 8
  20. BIT4 EQU 16
  21. BIT5 EQU 32
  22. BIT6 EQU 64
  23. BIT7 EQU 128
  24. BIT8 EQU 256
  25. BIT9 EQU 512
  26. BIT10 EQU 1024
  27. BIT11 EQU 2048
  28. BIT12 EQU 4096
  29. BIT13 EQU 8192
  30. BIT14 EQU 16384
  31. BIT15 EQU 32768
  32. *
  33. * CONDITION CODE BITS
  34. *   USED IN ORCC TO SET A CC BIT
  35. *
  36. N EQU BIT3
  37. Z EQU BIT2
  38. V EQU BIT1
  39. C EQU BIT0
  40. *
  41. * CONDITION CODE BIT MASKS
  42. *    USED IN ANDCC TO CLEAR SINGLE BITS
  43. *
  44. NN EQU $F7
  45. NZ EQU $FB
  46. NV EQU $FD
  47. NC EQU $FE
  48.  PAGE
  49. *
  50. *
  51. *
  52. *      STACK FRAME EQUATES
  53. *
  54. *
  55. *                  INITIALIZED BY:
  56. FUNCT EQU 0             IREG/ISTACK
  57. PTOS EQU FUNCT+1         IREG/ISTACK
  58. PFPCB EQU PTOS+2         IREG/ISTACK
  59. RPREC EQU PFPCB+2         IREG/ISTACK
  60. TSTAT EQU RPREC+1         IREG/ISTACK = 0
  61. TPARAM EQU TSTAT+2         IREG/ISTACK
  62. STIKY EQU TPARAM+2         ****************************************
  63. RESULT EQU STIKY+1         * EVERYTHING FROM STICKY TO TYPE1 IS ***
  64. SIGNR EQU RESULT         * ZEROED BY ISTACK/IREG          ***
  65. EXPR EQU RESULT+1
  66. FRACTR EQU EXPR+2
  67. TYPER EQU FRACTR+9
  68. ARG2 EQU TYPER+1         SET BY GETARG
  69. SIGN2 EQU ARG2
  70. EXP2 EQU ARG2+1
  71. FRACT2 EQU EXP2+2
  72. TYPE2 EQU FRACT2+9
  73. ARG1 EQU TYPE2+1         SET BY GETARG IF DYADIC
  74. SIGN1 EQU ARG1
  75. EXP1 EQU ARG1+1
  76. FRACT1 EQU EXP1+2
  77. TYPE1 EQU FRACT1+9         IXIT (0); CHANGED BY GETARG IF DYADIC
  78. *                 *************************************
  79. ARGSIZ EQU TYPE2-ARG2+1
  80. *
  81. * STACK CALLS
  82. ISTKPC EQU TYPE1+1         USER'S REGISTERS, SAVED BY PSHS
  83. CCREG EQU ISTKPC+2
  84. DREG EQU CCREG+1
  85. XREG EQU DREG+2
  86. YREG EQU XREG+2
  87. UREG EQU YREG+2
  88. CALLPC EQU UREG+2
  89. *
  90. * REGISTER CALLS
  91. IREGPC EQU TYPE1+1         USER'S REGISTERS; SAVED BY PSHS
  92. PFPCB2 EQU IREGPC+3
  93. PRESUL EQU PFPCB2+2
  94. PARG2 EQU PRESUL+2
  95. PARG1 EQU PARG2+2
  96. *
  97. * TOTAL SIZE OF STACK FRAME
  98. STKSIZ EQU CALLPC+2-FUNCT
  99. *
  100. * SIZE OF STACK FRAME FROM IREG OR ISTACK TO BOTTOM
  101. *
  102. FRMSIZ EQU ISTKPC-FUNCT
  103. *
  104. *
  105. * SIZE OF CALLERS REGS (EXCEPT PC)
  106. *
  107. SIZREG EQU CALLPC-CCREG
  108. *
  109. * OFFSETS FOR INDIVIDUAL ARGUMENTS ON STACK FRAME
  110. *
  111. SIGN EQU 0
  112. EXP EQU SIGN+1
  113. FRACT EQU EXP+2
  114. TYPE EQU FRACT+9
  115. *
  116. * ALIASES FOR SOME STACK FRAME ENTRIES
  117. *
  118. P    EQU  TPARAM+1         EQUATE USED IN DECBIN
  119. K    EQU  TPARAM+1         EQUATE USED IN BINDEC
  120.  PAGE
  121. *
  122. *  ARGUMENT TYPES
  123. *
  124. TYNORM EQU 0
  125. TYZERO EQU 2
  126. TYINF EQU 4
  127. TYNAN EQU 6
  128. TYNNRM EQU 8
  129. *
  130. * EXPONENT BIASES
  131. SBIAS EQU 127 SINGLE PRECISION BIAS
  132. DBIAS EQU 1023 DOUBLE PRECISION BIAS
  133. *
  134. * MISCELLANEOUS EQUATES
  135. *
  136. BIGIOP EQU 17 MAXIMUM LEGAL IOP NUMBER
  137. POFF EQU 25   OFFSET TO P IN BCD STRING
  138.  PAGE
  139. *
  140. *
  141. *   FPCB REGISTER BYTE EQUATES
  142. *
  143. *
  144. * FPCB REGISTER EQUATES
  145. *
  146. CTL EQU 0 CONTROL REG
  147. ENB EQU 1 ENABLE BYTE
  148. ERR EQU 2 ERROR STATUS BYTE
  149. SS  EQU 3 SECONDARY STATUS
  150. * OFFSET OF ADDRESS TO JUMP TO FOR TRAP
  151. TRAPV EQU 4  TRAP VECTOR
  152. *
  153. *
  154. *
  155. * CONTROL BYTE
  156. *
  157. CTLAFF EQU BIT0 AFFINE/PROJECTIVE FLAG
  158. CTLRND EQU BIT1+BIT2 ROUNDING MODE
  159. CTLNRM EQU BIT3 NORMALIZE FLAG
  160. CTLSIZ EQU BIT5+BIT6+BIT7
  161.  
  162. *
  163. * ERROR STATUS BYTE
  164. *
  165. ERRIOP EQU BIT0 IOP ERROR
  166. ERROVF EQU BIT1 OVERFLOW ERROR
  167. ERRUNF EQU BIT2 UNDERFLOW ERROR
  168. ERRDZ EQU BIT3 DIVIDE BY ZERO ERROR
  169. ERRUN EQU BIT4 UNORDERED COMPARE ERROR
  170. ERRIOV EQU BIT5 INTEGER OVERFLOW ERROR
  171. ERRINX EQU BIT6 INEXACT ERROR
  172. *
  173. * TRAP ENABLE BYTE
  174. *
  175. ENBIOP EQU BIT0 INVALID OPERATION
  176. ENBOVF EQU BIT1 OVERFLOW
  177. ENBUNF EQU BIT2 UNDERFLOW
  178. ENBDZ EQU BIT3 DIVIDE BY ZERO
  179. ENBUN EQU BIT4 UNORDERED
  180. ENBIOV EQU BIT5 INTEGER OVERFLOW
  181. ENBINX EQU BIT6 INEXACT
  182. *
  183. * PRECISION MODES IN CONTROL BYTE
  184. *
  185. PRSIN EQU  00            SINGLE
  186. PRDBL EQU  BIT5         DOUBLE
  187. PREXT EQU  BIT6         EXTENDED
  188. PREFS EQU  BIT5+BIT6        EXTENDED FORCE TO SINGLE
  189. PREFD EQU  BIT7         EXTENDED FORCED TO DOUBLE
  190. *
  191. * ROUNDING MODES IN CONTROL BYTE
  192. *
  193. *
  194. RN EQU    00      ROUND TO NEAREST
  195. RZ EQU    BIT1      ROUND TO ZERO
  196. RP EQU    BIT2      ROUND TO PLUS INFINITY
  197. RM EQU    BIT2+BIT1 ROUND TO MINUS INFINITY
  198. *
  199. * CLOSURE MODES IN CONTROL BYTE
  200. *
  201. PROJEC EQU 0      PROJECTIVE CLOSURE
  202. AFFINE EQU BIT0   AFFINE CLOSURE
  203. *
  204. * PRECISION INDEXES IN RPREC
  205. *
  206. SIN EQU  00
  207. DBL EQU  02
  208. EXT EQU  04
  209. EFS EQU  06
  210. EFD EQU  08
  211. CLRFRC EQU 10 (USED BY 'CLRES' FOR ENTIRE FRACTION)
  212. CLRALL EQU  12 (USED BY 'CLRES' FOR ENTIRE ARGUMENT)
  213. *
  214. * SECONDARY STATUS  BYTE
  215. *
  216. SSIOP EQU BIT0+BIT1+BIT2+BIT3+BIT4
  217.  PAGE
  218. *
  219. *
  220. *     FUNCTION CODE EQUATES
  221. *
  222. *     BIT 7 = 1 = MIXED SIZE ARGUMENTS (MOV,CMP)
  223. *     BIT 6 = 1 = TRAP ON UNORDERED COMPARE
  224. *     BIT5-BIT0 = FUNCTION NUMBER
  225. *
  226. *
  227. MIXED EQU BIT7
  228. TONUN EQU BIT6            TRAP ON UNORDERED
  229. *
  230. *
  231. FCADD EQU 0
  232. FCSUB EQU FCADD+2
  233. FCMUL EQU FCSUB+2
  234. FCDIV EQU FCMUL+2
  235. FCREM EQU FCDIV+2
  236. FCCMP EQU FCREM+2+MIXED
  237. FCTCMP EQU FCREM+4+MIXED+TONUN
  238. FCPCMP EQU FCREM+6+MIXED
  239. FCTPCM EQU FCREM+8+MIXED+TONUN
  240. FCSQRT EQU FCREM+10
  241. FCINT EQU FCSQRT+2
  242. FCFIXS EQU FCINT+2
  243. FCFIXD EQU FCFIXS+2
  244. FCMOV EQU FCFIXD+2+MIXED
  245. FCBNDC EQU FCFIXD+4
  246. FCAB EQU FCBNDC+2
  247. FCNEG EQU FCAB+2
  248. *
  249. *    THE FOLLOWING OPCODES DO NOT GO THROUGH
  250. *  A JUMP-ADDRESS TABLE.
  251. *    NOTE: THE 'FCAB' AND 'FCNEG' WILL
  252. *  NOT EVEN GO THROUGH THE DISPATCH ROUTINE.
  253. *
  254. FCNOJP EQU  FCNEG+2   MARKS OPCODES WITHOUT TABLES
  255. *
  256. FCDCBN EQU FCNOJP
  257. FCFLTS EQU FCDCBN+2
  258. FCFLTD EQU FCFLTS+2
  259. *
  260. * MAX ALLOWABLE OPCODE
  261. *
  262. FCMAX EQU FCFLTD
  263. *
  264. *
  265. * EXPONENT EQUATES
  266. *
  267. * MAXIMUM EXPONENTS
  268. *
  269. SMAXEX EQU $0080  SINGLE
  270. DMAXEX EQU $0400  DOUBLE
  271. EMAXEX EQU $3FFF  EXTENDED
  272. *
  273. * MINIMUM EXPONENTS
  274. *
  275. SMINEX EQU $FF81  SINGLE
  276. DMINEX EQU $FC01  DOUBLE
  277. EMINEX EQU $C000  EXTENDED
  278. *
  279. INFEX  EQU $7FFF  INFINITE EXPONENT
  280. ZEROEX    EQU $8000  ZERO EXPONENT INTERNAL FORMAT
  281. *
  282. *
  283. * INS AND OUTS BCD ARRAY EQUATES
  284. *
  285. SE     EQU 0       SIGN EXPONENT
  286. SF     EQU  5       SIGN FRACTION
  287. EXPDIG EQU  4       NO. OF BCD DIGITS IN EXPONENT
  288. SIGDIG EQU 19       NO. OF BCD DIGITS IN FRACTION
  289. DECEXP EQU  1       START OF BCD EXPONENT
  290. DECSIG EQU  6       START OF BCD FRACTION
  291. *
  292. MAXP EQU  19       MAXIMUM VALUE FOR P ON DECBIN( INS )
  293. MAXK EQU  17       MAXIMUM VALUE FOR K ON BINDEC( OUTS )
  294. *
  295. * SIZES OF STACK FRAME ENTITIES
  296. *
  297. FRACSZ    EQU  72    NO. OF BITS IN FRACTION
  298. EXPSIZ    EQU  16    NO. OF BITS IN EXPONENT
  299. *
  300. * BOOLEAN EQUATES
  301. *
  302. TRUE EQU  00
  303. FALSE EQU  $FF
  304. *
  305. *
  306.